Traveling through Time and Code: Omniscient Debugging and Beyond
نویسندگان
چکیده
Traditional debugging visualizes the execution state at a certain point in time. With omniscient debugging, it is possible to navigate and inspect the execution at different points in time. This demo present a prototype of a live coding environment that makes it easy to navigate the execution and extends omniscient debugging with an additional dimension in order to navigate to different versions of the code. While the implementation is still at an early state, the basic idea is promising for future research in debugging and programming. DemoThe demo was originally presented at the Future Programming workshop 2014 [1]. It ispublicly available at the following URL:http://vimeo.com/97714727 References[1] Jonathan Edwards, Richard P. Gabriel, and Alex Payne. Fpw’14: Future program-ming workshop. In Proceedings of the Companion Publication of the 2014 ACM SIGPLANConference on Systems, Programming, and Applications: Software for Humanity, SPLASH’14, pages 77–77, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-3208-8. doi:10.1145/2660252.2663601. URL http://doi.acm.org/10.1145/2660252.2663601.
منابع مشابه
MODELS: G: Exploring Omniscient Debugging for Model Transformations
This paper discusses a technique for supporting omniscient debugging for model transformations (MTs). MTs are used to define core operations on models. Like programs developed using general-purpose languages (GPLs), MTs are subject to human error and may possess defects (or bugs). Existing Model-Driven Engineering (MDE) tools provide stepwise execution to aid developers in locating and removing...
متن کاملTime- and space-conscious omniscient debugging of parallel DEVS
Current Parallel DEVS simulation tools provide a wide set of debugging features. Omniscient debugging, or debugging backwards in time, is only rarely implemented, presumably due to its high resource consumption. Outside of DEVS simulation, omniscient debugging implementations are often lossy: some parts of the model or code are ignored, or they consider only a time window of most recent events....
متن کاملDebugging operating systems with time-traveling virtual machines
Operating systems are among the most difficult of software systems to debug with traditional cyclic debugging. They are non-deterministic; they run for long periods of time; their state and code is large and complex; and their state is easily perturbed by the act of debugging. This paper describes a time-traveling virtual machine that overcomes many of the difficulties associated with debugging...
متن کاملOmniscient Debugging for Cognitive Agent Programs
For real-time programs reproducing a bug by rerunning the system is likely to fail, making fault localization a time-consuming process. Omniscient debugging is a technique that stores each run in such a way that it supports going backwards in time. However, the overhead of existing omniscient debugging implementations for languages like Java is so large that it cannot be effectively used in pra...
متن کاملDebugging for Model Transformations
In Model-Driven Engineering, the evolution of models is commonly defined using model transformation languages, which can be used to specify the distinct needs of a requirements or engineering change at the software modeling level. Model transformations are also a type of software abstraction that can be subject to human error. This paper presents a research proposal to investigate applying thre...
متن کامل